namespace Gateway.IApplication.WorkFlow.Input.Design;
/// <summary>
/// 审批相关的配置
/// </summary>
public class WorkFlowDesignApproveInput
{
    /// <summary>
    /// 审批人员类型  1指定成员  2主管  3角色  4发起人自选  5发起人自己  7连续多级主管
    /// </summary>
    public string ApproveType { get; set; }

    /// <summary>
    /// 节点角色
    /// 针对审批--  节点用户-选择的是角色的话，这里就会有角色信息  {id,name}
    /// </summary>
    public List<WorkDesignNodeRoleOrUserInput> NodeRole { get; set; }

    /// <summary>
    /// 针对审批--  节点用户-选择的是指定成员的话，这里就会有人员信息 {id,name}
    /// </summary>
    public WorkDesignNodeRoleOrUserInput WorkDesignNodeRoleOrUser { get; set; }

    /// <summary>
    /// 审批的主管的级别，比如 发起人的第X级主管
    /// </summary>
    public string ExamineLevel { get; set; }

    /// <summary>
    /// 发起人自选 1 自选一个人  2 自选多个人
    /// </summary>
    public string SelectMode { get; set; }


    /// <summary>
    /// 主管审批终点模式  0 直到最上层主管  1 自定义审批终点
    /// </summary>
    public int DirectorMode { get; set; }

    /// <summary>
    /// 主管级别  第X级主管
    /// </summary>
    public int DirectorLevel { get; set; }

    /// <summary>
    /// 超时自动审批 状态  Y  N 
    /// </summary>
    public string TermAutoStatus { get; set; }
    /// <summary>
    /// 审批期限（为 0 则不生效）
    /// </summary>
    public int Term { get; set; }

    /// <summary>
    /// 审批期限超时后执行  0 自动通过   1 自动拒绝
    /// </summary>
    public string TermMode { get; set; }

    /// <summary>
    /// 多人审批时审批方式  1 按顺序依次审批 2会签 (可同时审批，每个人必须审批通过) 3或签 (有一人审批通过即可)
    /// </summary>
    public string ExamineMode { get; set; }
}